package com.ls.rbac.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ls.rbac.entity.Dept;

import java.util.List;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author LiXiaolong
 * @since 2025-06-27
 */

public interface IDeptService extends IService<Dept> {


     // 获取部门树形结构
    List<Dept> getDeptTreeAll();


    /**
     * 获取上级部门树形结构
     */
    public List<Dept> getDeptTreeParent(List<Dept> deptList);

     //根据父 ID 查询部门列表
    List<Dept> listByPid(Integer pid);

    /**
     * 查询指定部门及所有子部门ID
     */
    List<Integer> getDeptAndChildrenIds(Integer deptId);


    /**
     * 保存部门并设置上级部门关系
     */
    boolean saveDept(Dept dept);

    /**
     * 更新部门并处理上级部门关系
     */
    boolean updateDeptById(Dept dept);

    boolean removeDeptById(Integer id);

}
